animation: Prevent spinner animation from resetting
Currently, the search status spinner animation restarts on every
single keystroke while a search is in progress. This occurs because
redundant calls to `play()` replace the previous content and restart
the animation from the beginning.
This commit fixes this by ignoring redundant `play()` and `stop()` calls.